package jmine.tec.rpc.server.representation;

/**
 * Factory de representadores utilizados como fallback, quando não houve especificação explícita.
 * 
 * @author lundberg
 */
public interface FallbackRepresenterFactory {

    /**
     * Cria um representador apropriado, da classe representada para representação
     * 
     * @param <R> tipo da representação
     * @param <E> tipo do objeto representado
     * @param representationClass representationClass
     * @param representedClass representedClass
     * @return Representer
     */
    <R, E> Representer<R, E> create(Class<R> representationClass, Class<E> representedClass);
}
